﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Model.MetadataTypes;
namespace Model.Entities
{
    /// <summary>
    /// 实体类 无线电监测天线信息表, 此类请勿动，以方便表字段更改时重新生成覆盖
    /// </summary>
    [Serializable]
    [MetadataType(typeof(RMBT_FACILITY_ANTENNA_Metadata))]
    public partial class RMBT_FACILITY_ANTENNA
    {
        /// <summary>
        /// 创建<see cref="RMBT_FACILITY_ANTENNA"/>的实例
        /// </summary>
        public RMBT_FACILITY_ANTENNA()
        {
                _rmbt_facility_equipmentCollection = new List<RMBT_FACILITY_EQUIPMENT>();
		                }
        /// <summary>
        /// 监测天线ID【主键，系统GUID】
        /// </summary>
        public virtual string ANTEID { get; set; }

        		
        /// <summary>
        /// 天线型号
        /// </summary>
        public virtual string ANTEMODEL { get; set; }

    		
        /// <summary>
        /// 天线制造厂商
        /// </summary>
        public virtual string ANTEMANU { get; set; }

    		
        /// <summary>
        /// 工作频段起始频率（单位：MHz）
        /// </summary>
        public virtual decimal STARTFREQ { get; set; }

    		
        /// <summary>
        /// 工作频段终止频率（单位：MHz）
        /// </summary>
        public virtual decimal ENDFREQ { get; set; }

    		
        /// <summary>
        /// 是否有源天线【外键：RMBT_CODE_ISACTIVEANTE(CODE_ID)】
        /// </summary>
        public virtual string ISACTIVEANTE { get; set; }

    		
        /// <summary>
        /// 极化方式【外键：RMBT_CODE_POLARIZATION(CODE_ID)】
        /// </summary>
        public virtual string POLARIZATION { get; set; }

    		
        /// <summary>
        /// 是否定向天线【外键：RMBT_CODE_ISDIRECTIVEANTE(CODE_ID)】
        /// </summary>
        public virtual string ISDIRECTIVEANTE { get; set; }

    		
        /// <summary>
        /// 定向天线方向（单位：度）
        /// </summary>
        public virtual decimal? ANTEDIRECTION { get; set; }

    		
        /// <summary>
        /// 天线距地面高度（单位：米）
        /// </summary>
        public virtual decimal ANTEHEIGHT { get; set; }

            private IList<RMBT_FACILITY_EQUIPMENT> _rmbt_facility_equipmentCollection;
        /// <summary>
        /// 无线电监测设备信息表的集合
        /// </summary>
        public virtual ReadOnlyCollection<RMBT_FACILITY_EQUIPMENT> RMBT_FACILITY_EQUIPMENTCollection { get { return new ReadOnlyCollection<RMBT_FACILITY_EQUIPMENT>(_rmbt_facility_equipmentCollection); } }
		    
        protected internal virtual IList<RMBT_FACILITY_EQUIPMENT> GetRMBT_FACILITY_EQUIPMENTCollection()
        {
            return _rmbt_facility_equipmentCollection;
        }
		
        public override bool Equals(object obj)
        {
            RMBT_FACILITY_ANTENNA model = obj as RMBT_FACILITY_ANTENNA;
            return model != null && (ReferenceEquals(ANTEID,null) ? ReferenceEquals(model.ANTEID, null) : ANTEID.Equals(model.ANTEID));
        }
        public override int GetHashCode()
        {
            int hash = GetType().GetHashCode();
            hash = (hash * 397) ^ (ReferenceEquals(ANTEID, null) ? 0 : ANTEID.GetHashCode());
            return hash;
        }
    }
}
